package com.ss.io01;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * @Auther: 520ljs
 * @Date: 2022/3/18 - 03 - 18 - 22:20
 */
public class Test04 {
    //这是一个main方法，是程序的入口
    public static void main(String[] args) throws IOException {
        //1.有一个源文件
        File f1 = new File("e:\\a\\test.txt");
        //2.有一个目标文件：
        File f2 = new File("e:\\a\\demo.txt");
        //3.搞一个输入的管，怼到源文件上：
        FileReader fr = new FileReader(f1);
        //4.搞一个输出的管，怼到目标文件上：
        FileWriter fw = new FileWriter(f2);

        //5.开始动作：
        //方式1：一个字符一个字符的复制：
        /*int n = fr.read();
        while(n!=-1){
            fw.write(n);
            n = fr.read();
        }*/

        //方式2：利用缓冲字符数组：
        /*char[] ch = new char[5];
        int len = fr.read(ch);
        while(len!=-1){
            fw.write(ch,0,len);//将缓冲数组中有效长度写出
            len = fr.read(ch);
        }*/

        //方式3：利用缓冲字符组，将数组转为String写出
        char[] ch = new char[5];
        int len = fr.read();
        while(len!=1){
            String s = new String(ch,0,len);
            fw.write(s);
            len = fr.read(ch);
        }

        //6.关闭流：(关闭流的时候，倒着关闭，后用先关)
        fw.close();
        fr.close();
    }
}
